home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / p_man / cat3 / Xm / XmPushButtonGadget.z / XmPushButtonGadget
Text File  |  1998-10-30  |  44KB  |  595 lines

  1.  
  2.  
  3.  
  4.      XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.           XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt - The PushButtonGadget widget class
  10.  
  11.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.           #include <Xm/PushBG.h>
  13.  
  14.      VVVVEEEERRRRSSSSIIIIOOOONNNN
  15.           This page documents Motif 2.1.
  16.  
  17.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  18.           PushButtonGadget issues commands within an application.  It
  19.           consists of a text label or pixmap surrounded by a border
  20.           shadow.  When PushButtonGadget is selected, the shadow
  21.           changes to give the appearance that the PushButtonGadget has
  22.           been pressed in. When PushButtonGadget is unselected, the
  23.           shadow changes to give the appearance that the
  24.           PushButtonGadget is out.
  25.  
  26.           The default behavior associated with a PushButtonGadget in a
  27.           menu depends on the type of menu system in which it resides.
  28.           By default, <<<<BBBBttttnnnn1111>>>> controls the behavior of the
  29.           PushButtonGadget.  In addition, <<<<BBBBttttnnnn3333>>>> controls the behavior
  30.           of the PushButtonGadget if it resides in a PopupMenu system.
  31.           The actual mouse button used is determined by its RowColumn
  32.           parent.
  33.  
  34.           Thickness for a second shadow may be specified with the
  35.           XXXXmmmmNNNNsssshhhhoooowwwwAAAAssssDDDDeeeeffffaaaauuuulllltttt resource. If it has a nonzero value, the
  36.           Label's XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnLLLLeeeefffftttt, XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnRRRRiiiigggghhhhtttt, XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnTTTToooopppp, and
  37.           XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnBBBBoooottttttttoooommmm resources may be modified to accommodate the
  38.           second shadow.
  39.  
  40.           If an initial value is specified for XXXXmmmmNNNNaaaarrrrmmmmPPPPiiiixxxxmmmmaaaapppp but not
  41.           for XXXXmmmmNNNNllllaaaabbbbeeeellllPPPPiiiixxxxmmmmaaaapppp, the XXXXmmmmNNNNaaaarrrrmmmmPPPPiiiixxxxmmmmaaaapppp value is used for
  42.           XXXXmmmmNNNNllllaaaabbbbeeeellllPPPPiiiixxxxmmmmaaaapppp.
  43.  
  44.           PushButtonGadget uses the _X_m_Q_T_m_e_n_u_S_y_s_t_e_m and
  45.           _X_m_Q_T_s_p_e_c_i_f_y_R_e_n_d_e_r_T_a_b_l_e traits, and holds the _X_m_Q_a_c_t_i_v_a_t_a_b_l_e,
  46.           _X_m_Q_T_m_e_n_u_S_a_v_v_y, and _X_m_Q_T_t_a_k_e_s_D_e_f_a_u_l_t traits.
  47.  
  48.         CCCCllllaaaasssssssseeeessss
  49.           PushButtonGadget inherits behavior, resources, and traits
  50.           from OOOObbbbjjjjeeeecccctttt, RRRReeeeccccttttOOOObbbbjjjj, XXXXmmmmGGGGaaaaddddggggeeeettttand XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt.
  51.  
  52.           The class pointer is _x_m_P_u_s_h_B_u_t_t_o_n_G_a_d_g_e_t_C_l_a_s_s.
  53.  
  54.           The class name is XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt.
  55.  
  56.         NNNNeeeewwww RRRReeeessssoooouuuurrrrcccceeeessss
  57.           The following table defines a set of widget resources used
  58.           by the programmer to specify data. The programmer can also
  59.           set the resource values for the inherited classes to set
  60.  
  61.  
  62.  
  63.      Page 1                                         (printed 10/24/98)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  71.  
  72.  
  73.  
  74.           attributes for this widget. To reference a resource by name
  75.           or by class in a ....XXXXddddeeeeffffaaaauuuullllttttssss file, remove the XXXXmmmmNNNN or XXXXmmmmCCCC
  76.           prefix and use the remaining letters. To specify one of the
  77.           defined values for a resource in a ....XXXXddddeeeeffffaaaauuuullllttttssss file, remove
  78.           the XXXXmmmm prefix and use the remaining letters (in either
  79.           lowercase or uppercase, but include any underscores between
  80.           words).  The codes in the access column indicate if the
  81.           given resource can be set at creation time (C), set by using
  82.           XXXXttttSSSSeeeettttVVVVaaaalllluuuueeeessss (S), retrieved by using XXXXttttGGGGeeeettttVVVVaaaalllluuuueeeessss (G), or is
  83.           not applicable (N/A).
  84.  
  85.                                                    XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  86.           NNNNaaaammmmeeee                              CCCCllllaaaassssssss                             TTTTyyyyppppeeee             DDDDeeeeffffaaaauuuulllltttt                AAAAcccccccceeeessssssss
  87.           XmNactivateCallback               XmCCallback                       XtCallbackList   NULL                   C
  88.           XmNarmCallback                    XmCCallback                       XtCallbackList   NULL                   C
  89.           XmNarmColor                       XmCArmColor                       Pixel            dynamic                CSG
  90.           XmNarmPixmap                      XmCArmPixmap                      Pixmap           XmUNSPECIFIED_PIXMAP   CSG
  91.           XmNdefaultButtonShadowThickness   XmCdefaultButtonShadowThickness   Dimension        dynamic                CSG
  92.           XmNdisarmCallback                 XmCCallback                       XtCallbackList   NULL                   C
  93.           XmNfillOnArm                      XmCFillOnArm                      Boolean          True                   CSG
  94.           XmNmultiClick                     XmCMultiClick                     unsigned char    dynamic                CSG
  95.           XmNshowAsDefault                  XmCShowAsDefault                  Dimension        0                      CSG
  96.  
  97.           XXXXmmmmNNNNaaaaccccttttiiiivvvvaaaatttteeeeCCCCaaaallllllllbbbbaaaacccckkkk
  98.                     Specifies the list of callbacks that is called
  99.                     when the PushButtonGadget is activated.  It is
  100.                     activated when the user presses and releases the
  101.                     active mouse button while the pointer is inside
  102.                     the PushButtonGadget. Activating PushButtonGadget
  103.                     also disarms it.  For this callback, the reason is
  104.                     XXXXmmmmCCCCRRRR____AAAACCCCTTTTIIIIVVVVAAAATTTTEEEE.  This callback uses the
  105.                     _X_m_Q_T_a_c_t_i_v_a_t_a_b_l_e trait.
  106.  
  107.           XXXXmmmmNNNNaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk
  108.                     Specifies the list of callbacks that is called
  109.                     when PushButtonGadget is armed.  It is armed when
  110.                     the user presses the active mouse button while the
  111.                     pointer is inside the PushButtonGadget.  For this
  112.                     callback, the reason is XXXXmmmmCCCCRRRR____AAAARRRRMMMM.
  113.  
  114.           XXXXmmmmNNNNaaaarrrrmmmmCCCCoooolllloooorrrr
  115.                     Specifies the color with which to fill the armed
  116.                     button.  XXXXmmmmNNNNffffiiiillllllllOOOOnnnnAAAArrrrmmmm must be set to True for this
  117.                     resource to have an effect.  The default for a
  118.                     color display is a color between the background
  119.                     and the bottom shadow color. For a monochrome
  120.                     display, the default is set to the foreground
  121.                     color, and any text in the label appears in the
  122.                     background color when the button is armed.
  123.  
  124.           XXXXmmmmNNNNaaaarrrrmmmmPPPPiiiixxxxmmmmaaaapppp
  125.                     Specifies the pixmap to be used as the button face
  126.  
  127.  
  128.  
  129.      Page 2                                         (printed 10/24/98)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  137.  
  138.  
  139.  
  140.                     if _X_m_N_l_a_b_e_l_t_y_p_e is XXXXmmmmPPPPIIIIXXXXMMMMAAAAPPPP and PushButtonGadget
  141.                     is armed.  This resource is disabled when the
  142.                     PushButtonGadget is in a menu.
  143.  
  144.           XXXXmmmmNNNNddddeeeeffffaaaauuuullllttttBBBBuuuuttttttttoooonnnnSSSShhhhaaaaddddoooowwwwTTTThhhhiiiicccckkkknnnneeeessssssss
  145.                     This resource specifies the width of the default
  146.                     button indicator shadow.  If this resource is 0
  147.                     (zero), the width of the shadow comes from the
  148.                     value of the XXXXmmmmNNNNsssshhhhoooowwwwAAAAssssDDDDeeeeffffaaaauuuulllltttt resource. If this
  149.                     resource is greater than zero, the
  150.                     XXXXmmmmNNNNsssshhhhoooowwwwAAAAssssDDDDeeeeffffaaaauuuulllltttt resource is only used to specify
  151.                     whether this button is the default.  The default
  152.                     value is the initial value of XXXXmmmmNNNNsssshhhhoooowwwwAAAAssssDDDDeeeeffffaaaauuuulllltttt.
  153.  
  154.           XXXXmmmmNNNNddddiiiissssaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk
  155.                     Specifies the list of callbacks that is called
  156.                     when the PushButtonGadget is disarmed.
  157.                     PushButtonGadget is disarmed when the user presses
  158.                     and releases the active mouse button while the
  159.                     pointer is inside that gadget.  For this callback,
  160.                     the reason is XXXXmmmmCCCCRRRR____DDDDIIIISSSSAAAARRRRMMMM.
  161.  
  162.           XXXXmmmmNNNNffffiiiillllllllOOOOnnnnAAAArrrrmmmm
  163.                     Forces the PushButtonGadget to fill the background
  164.                     of the button with the color specified by
  165.                     XXXXmmmmNNNNaaaarrrrmmmmCCCCoooolllloooorrrr when the button is armed and when this
  166.                     resource is set to True. If it is False, only the
  167.                     top and bottom shadow colors are switched. When
  168.                     the PushButtonGadget is in a menu, this resource
  169.                     is ignored and assumed to be False.
  170.  
  171.           XXXXmmmmNNNNmmmmuuuullllttttiiiiCCCClllliiiicccckkkk
  172.                     If a button click is followed by another button
  173.                     click within the time span specified by the
  174.                     display's multiclick time, and this resource is
  175.                     set to XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____DDDDIIIISSSSCCCCAAAARRRRDDDD, the second click is
  176.                     not processed.  If this resource is set to
  177.                     XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____KKKKEEEEEEEEPPPP, the event is processed and
  178.                     _c_l_i_c_k__c_o_u_n_t is incremented in the callback
  179.                     structure.  When the button is in a menu, the
  180.                     default is XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____DDDDIIIISSSSCCCCAAAARRRRDDDD; otherwise, for a
  181.                     button not in a menu, the default value is
  182.                     XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____KKKKEEEEEEEEPPPP.
  183.  
  184.           XXXXmmmmNNNNsssshhhhoooowwwwAAAAssssDDDDeeeeffffaaaauuuulllltttt
  185.                     If XXXXmmmmNNNNddddeeeeffffaaaauuuullllttttBBBBuuuuttttttttoooonnnnSSSShhhhaaaaddddoooowwwwTTTThhhhiiiicccckkkknnnneeeessssssss is greater than
  186.                     0 (zero), a value greater than zero in this
  187.                     resource specifies to mark this button as the
  188.                     default button.  If
  189.                     XXXXmmmmNNNNddddeeeeffffaaaauuuullllttttBBBBuuuuttttttttoooonnnnSSSShhhhaaaaddddoooowwwwTTTThhhhiiiicccckkkknnnneeeessssssss is 0, a value
  190.                     greater than 0 in this resource specifies to mark
  191.                     this button as the default button with the shadow
  192.  
  193.  
  194.  
  195.      Page 3                                         (printed 10/24/98)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  203.  
  204.  
  205.  
  206.                     thickness specified by this resource.  The space
  207.                     between the shadow and the default shadow is equal
  208.                     to the sum of both shadows.  The default value is
  209.                     0.  When the Display resource
  210.                     XXXXmmmmNNNNddddeeeeffffaaaauuuullllttttBBBBuuuuttttttttoooonnnnEEEEmmmmpppphhhhaaaassssiiiissss has a value of
  211.                     XXXXmmmmEEEEXXXXTTTTEEEERRRRNNNNAAAALLLL____HHHHIIIIGGGGHHHHLLLLIIIIGGGGHHHHTTTT (the default), PushButton
  212.                     draws the location cursor outside of the outer
  213.                     shadow. When this resource has a value of
  214.                     XXXXmmmmIIIINNNNTTTTEEEERRRRNNNNAAAALLLL____HHHHIIIIGGGGHHHHLLLLIIIIGGGGHHHHTTTT, the highlight is drawn
  215.                     between the inner and outer shadows.  When this
  216.                     value is not 0, the Label XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnLLLLeeeefffftttt,
  217.                     XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnRRRRiiiigggghhhhtttt, XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnTTTToooopppp, and XXXXmmmmNNNNmmmmaaaarrrrggggiiiinnnnBBBBoooottttttttoooommmm
  218.                     resources may be modified to accommodate the
  219.                     second shadow.  This resource is disabled when the
  220.                     PushButton is in a menu.
  221.  
  222.         IIIInnnnhhhheeeerrrriiiitttteeeedddd RRRReeeessssoooouuuurrrrcccceeeessss
  223.           PushButtonGadget inherits behavior and resources from the
  224.           superclasses described in the following tables.  For a
  225.           complete description of each resource, refer to the
  226.           reference page for that superclass.
  227.  
  228.                                                  XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  229.           NNNNaaaammmmeeee                        CCCCllllaaaassssssss                       TTTTyyyyppppeeee                DDDDeeeeffffaaaauuuulllltttt                AAAAcccccccceeeessssssss
  230.           XmNaccelerator              XmCAccelerator              String              NULL                   CSG
  231.           XmNacceleratorText          XmCAcceleratorText          XmString            NULL                   CSG
  232.           XmNalignment                XmCAlignment                unsigned char       dynamic                CSG
  233.           XmNfontList                 XmCFontList                 XmFontList          dynamic                CSG
  234.           XmNlabelInsensitivePixmap   XmCLabelInsensitivePixmap   Pixmap              XmUNSPECIFIED_PIXMAP   CSG
  235.           XmNlabelPixmap              XmCLabelPixmap              Pixmap              dynamic                CSG
  236.           XmNlabelString              XmCXmString                 XmString            dynamic                CSG
  237.           XmNlabelType                XmCLabelType                unsigned char       XmSTRING               CSG
  238.           XmNmarginBottom             XmCMarginBottom             Dimension           dynamic                CSG
  239.           XmNmarginHeight             XmCMarginHeight             Dimension           2                      CSG
  240.           XmNmarginLeft               XmCMarginLeft               Dimension           dynamic                CSG
  241.           XmNmarginRight              XmCMarginRight              Dimension           dynamic                CSG
  242.           XmNmarginTop                XmCMarginTop                Dimension           dynamic                CSG
  243.           XmNmarginWidth              XmCMarginWidth              Dimension           2                      CSG
  244.           XmNmnemonic                 XmCMnemonic                 KeySym              NULL                   CSG
  245.           XmNmnemonicCharSet          XmCMnemonicCharSet          String              dynamic                CSG
  246.           XmNrecomputeSize            XmCRecomputeSize            Boolean             True                   CSG
  247.           XmNrenderTable              XmCRenderTable              XmRenderTable       dynamic                CSG
  248.           XmNstringDirection          XmCStringDirection          XmStringDirection   dynamic                CSG
  249.  
  250.                                                XXXXmmmmGGGGaaaaddddggggeeeetttt RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  251.           NNNNaaaammmmeeee                    CCCCllllaaaassssssss                   TTTTyyyyppppeeee               DDDDeeeeffffaaaauuuulllltttt                AAAAcccccccceeeessssssss
  252.           XmNbackground           XmCBackground           Pixel              dynamic                CSG
  253.           XmNbackgroundPixmap     XmCPixmap               Pixmap             XmUNSPECIFIED_PIXMAP   CSG
  254.           XmNbottomShadowColor    XmCBottomShadowColor    Pixel              dynamic                CSG
  255.           XmNbottomShadowPixmap   XmCBottomShadowPixmap   Pixmap             dynamic                CSG
  256.  
  257.  
  258.  
  259.  
  260.  
  261.      Page 4                                         (printed 10/24/98)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  269.  
  270.  
  271.  
  272.           XmNhelpCallback         XmCCallback             XtCallbackList     NULL                   C
  273.           XmNforeground           XmCForeground           Pixel              dynamic                CSG
  274.           XmNhighlightColor       XmCHighlightColor       Pixel              dynamic                CSG
  275.           XmNhighlightOnEnter     XmCHighlightOnEnter     Boolean            False                  CSG
  276.           XmNhighlightPixmap      XmCHighlightPixmap      Pixmap             dynamic                CSG
  277.           XmNhighlightThickness   XmCHighlightThickness   Dimension          2                      CSG
  278.           XmNlayoutDirection      XmNCLayoutDirection     XmDirection        dynamic                CG
  279.           XmNnavigationType       XmCNavigationType       XmNavigationType   XmNONE                 CSG
  280.           XmNshadowThickness      XmCShadowThickness      Dimension          2                      CSG
  281.           XmNtopShadowColor       XmCTopShadowColor       Pixel              dynamic                CSG
  282.           XmNtopShadowPixmap      XmCTopShadowPixmap      Pixmap             dynamic                CSG
  283.           XmNtraversalOn          XmCTraversalOn          Boolean            True                   CSG
  284.           XmNunitType             XmCUnitType             unsigned char      dynamic                CSG
  285.           XmNuserData             XmCUserData             XtPointer          NULL                   CSG
  286.  
  287.                                   RRRReeeeccccttttOOOObbbbjjjj RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  288.           NNNNaaaammmmeeee                   CCCCllllaaaassssssss            TTTTyyyyppppeeee        DDDDeeeeffffaaaauuuulllltttt   AAAAcccccccceeeessssssss
  289.           XmNancestorSensitive   XmCSensitive     Boolean     dynamic   G
  290.           XmNborderWidth         XmCBorderWidth   Dimension   0         N/A
  291.           XmNheight              XmCHeight        Dimension   dynamic   CSG
  292.           XmNsensitive           XmCSensitive     Boolean     True      CSG
  293.           XmNwidth               XmCWidth         Dimension   dynamic   CSG
  294.           XmNx                   XmCPosition      Position    0         CSG
  295.           XmNy                   XmCPosition      Position    0         CSG
  296.  
  297.                                   OOOObbbbjjjjeeeecccctttt RRRReeeessssoooouuuurrrrcccceeee SSSSeeeetttt
  298.           NNNNaaaammmmeeee                 CCCCllllaaaassssssss         TTTTyyyyppppeeee             DDDDeeeeffffaaaauuuulllltttt   AAAAcccccccceeeessssssss
  299.           XmNdestroyCallback   XmCCallback   XtCallbackList   NULL      C
  300.  
  301.         CCCCaaaallllllllbbbbaaaacccckkkk IIIInnnnffffoooorrrrmmmmaaaattttiiiioooonnnn
  302.           A pointer to the following structure is passed to each
  303.           callback:
  304.  
  305.           typedef struct
  306.           {
  307.                   int _r_e_a_s_o_n;
  308.                   XEvent * _e_v_e_n_t;
  309.                   int _c_l_i_c_k__c_o_u_n_t;
  310.           } XmPushButtonCallbackStruct;
  311.  
  312.           _r_e_a_s_o_n    Indicates why the callback was invoked.
  313.  
  314.           _e_v_e_n_t     Points to the _X_E_v_e_n_t that triggered the callback.
  315.  
  316.           _c_l_i_c_k__c_o_u_n_t
  317.                     Valid only when the reason is XXXXmmmmCCCCRRRR____AAAACCCCTTTTIIIIVVVVAAAATTTTEEEE.  It
  318.                     contains the number of clicks in the last
  319.                     multiclick sequence if the XXXXmmmmNNNNmmmmuuuullllttttiiiiCCCClllliiiicccckkkk resource
  320.                     is set to XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____KKKKEEEEEEEEPPPP; otherwise it contains
  321.                     1.  The activate callback is invoked for each
  322.                     click if XXXXmmmmNNNNmmmmuuuullllttttiiiiCCCClllliiiicccckkkkis set to XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____KKKKEEEEEEEEPPPP.
  323.  
  324.  
  325.  
  326.  
  327.      Page 5                                         (printed 10/24/98)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  335.  
  336.  
  337.  
  338.         BBBBeeeehhhhaaaavvvviiiioooorrrr
  339.           XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt includes behavior from XXXXmmmmGGGGaaaaddddggggeeeetttt.
  340.           XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt includes menu traversal behavior from
  341.           XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt.  Additional behavior for XmPushButtonGadget
  342.           is described in the following list.
  343.  
  344.           <<<<BBBBttttnnnn2222DDDDoooowwwwnnnn>>>>:
  345.                     Drags the contents of a PushButtonGadget label,
  346.                     identified when <<<<BBBBttttnnnn2222>>>> is pressed.  This action is
  347.                     undefined for PushButtonGadgets used in a menu
  348.                     system.
  349.  
  350.           <<<<BBBBttttnnnn1111DDDDoooowwwwnnnn>>>>:
  351.                     This action arms the PushButtonGadget.
  352.  
  353.                     In a menu, this action unposts any menus posted by
  354.                     the PushButtonGadget's parent menu, disables
  355.                     keyboard traversal for the menu, and enables mouse
  356.                     traversal for the menu.  It draws the shadow in
  357.                     the armed state.  Unless the button is already
  358.                     armed, it calls the XXXXmmmmNNNNaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkkcallbacks.
  359.  
  360.                     If the button is not in a menu, this action draws
  361.                     the shadow in the armed state.  If XXXXmmmmNNNNffffiiiillllllllOOOOnnnnAAAArrrrmmmm is
  362.                     set to True, it fills the button with the color
  363.                     specified by XXXXmmmmNNNNaaaarrrrmmmmCCCCoooolllloooorrrr.  If XXXXmmmmNNNNllllaaaabbbbeeeellllTTTTyyyyppppeeee is
  364.                     XXXXmmmmPPPPIIIIXXXXMMMMAAAAPPPP, the XXXXmmmmNNNNaaaarrrrmmmmPPPPiiiixxxxmmmmaaaapppp is used for the button
  365.                     face.  It calls the XXXXmmmmNNNNaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk callbacks.
  366.  
  367.           <<<<BBBBttttnnnn1111>>>>((((2222++++)))):
  368.                     If XXXXmmmmNNNNmmmmuuuullllttttiiiiCCCClllliiiicccckkkk is XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____DDDDIIIISSSSCCCCAAAARRRRDDDD, this
  369.                     action does nothing.
  370.  
  371.                     If XXXXmmmmNNNNmmmmuuuullllttttiiiiCCCClllliiiicccckkkk is XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____KKKKEEEEEEEEPPPP, this action
  372.                     draws the shadow in the armed state.  If the
  373.                     button is not in a menu and if XXXXmmmmNNNNffffiiiillllllllOOOOnnnnAAAArrrrmmmm is set
  374.                     to True, it fills the button with the color
  375.                     specified by XXXXmmmmNNNNaaaarrrrmmmmCCCCoooolllloooorrrr.  If XXXXmmmmNNNNllllaaaabbbbeeeellllTTTTyyyyppppeeee is
  376.                     XXXXmmmmPPPPIIIIXXXXMMMMAAAAPPPP, the XXXXmmmmNNNNaaaarrrrmmmmPPPPiiiixxxxmmmmaaaapppp is used for the button
  377.                     face.  This action calls the XXXXmmmmNNNNaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk
  378.                     callbacks.
  379.  
  380.           <<<<BBBBttttnnnn1111UUUUpppp>>>>: In a menu, this action unposts all menus in the
  381.                     menu hierarchy and activates the PushButtonGadget.
  382.                     It calls the XXXXmmmmNNNNaaaaccccttttiiiivvvvaaaatttteeeeCCCCaaaallllllllbbbbaaaacccckkkk callbacks and
  383.                     then the XXXXmmmmNNNNddddiiiissssaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk callbacks.
  384.  
  385.                     If the PushButtonGadget is not in a menu, this
  386.                     action draws the shadow in the unarmed state.  If
  387.                     XXXXmmmmNNNNffffiiiillllllllOOOOnnnnAAAArrrrmmmm is set to True, the background color
  388.                     reverts to the unarmed color.  If XXXXmmmmNNNNllllaaaabbbbeeeellllTTTTyyyyppppeeee is
  389.                     XXXXmmmmPPPPIIIIXXXXMMMMAAAAPPPP, the XXXXmmmmNNNNllllaaaabbbbeeeellllPPPPiiiixxxxmmmmaaaapppp is used for the
  390.  
  391.  
  392.  
  393.      Page 6                                         (printed 10/24/98)
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.      XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  401.  
  402.  
  403.  
  404.                     button face.  If the pointer is still within the
  405.                     button, this action calls the callbacks for
  406.                     XXXXmmmmNNNNaaaaccccttttiiiivvvvaaaatttteeeeCCCCaaaallllllllbbbbaaaacccckkkkand XXXXmmmmNNNNddddiiiissssaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk.
  407.  
  408.           <<<<BBBBttttnnnn1111UUUUpppp>>>>((((2222++++)))):
  409.                     If XXXXmmmmNNNNmmmmuuuullllttttiiiiCCCClllliiiicccckkkk is XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____DDDDIIIISSSSCCCCAAAARRRRDDDD, this
  410.                     action does nothing.
  411.  
  412.                     If XXXXmmmmNNNNmmmmuuuullllttttiiiiCCCClllliiiicccckkkk is XXXXmmmmMMMMUUUULLLLTTTTIIIICCCCLLLLIIIICCCCKKKK____KKKKEEEEEEEEPPPP, this action
  413.                     increments _c_l_i_c_k__c_o_u_n_t in the callback structure
  414.                     and draws the shadow in the unarmed state.  If the
  415.                     button is not in a menu and if XXXXmmmmNNNNffffiiiillllllllOOOOnnnnAAAArrrrmmmm is set
  416.                     to True, the background color reverts to the
  417.                     unarmed color.  If XXXXmmmmNNNNllllaaaabbbbeeeellllTTTTyyyyppppeeee is XXXXmmmmPPPPIIIIXXXXMMMMAAAAPPPP,
  418.                     XXXXmmmmNNNNllllaaaabbbbeeeellllPPPPiiiixxxxmmmmaaaapppp is used for the button face.  If
  419.                     the pointer is within the PushButtonGadget, this
  420.                     action calls the callbacks for
  421.                     XXXXmmmmNNNNaaaaccccttttiiiivvvvaaaatttteeeeCCCCaaaallllllllbbbbaaaacccckkkkand XXXXmmmmNNNNddddiiiissssaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk.
  422.  
  423.           <<<<KKKKeeeeyyyy>>>><<<<oooossssffffAAAAccccttttiiiivvvvaaaatttteeee>>>>:
  424.                     In a menu, this action unposts all menus in the
  425.                     menu hierarchy, unless the button is already
  426.                     armed, and calls the XXXXmmmmNNNNaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkkcallbacks, the
  427.                     XXXXmmmmNNNNaaaaccccttttiiiivvvvaaaatttteeeeCCCCaaaallllllllbbbbaaaacccckkkk and the XXXXmmmmNNNNddddiiiissssaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk
  428.                     callbacks. Outside a menu, KKKKAAAAccccttttiiiivvvvaaaatttteeeehas no effect.
  429.                     For PushButtonGadgets outside of a menu, if the
  430.                     parent is a manager, this action passes the event
  431.                     to the parent.
  432.  
  433.           <<<<KKKKeeeeyyyy>>>><<<<oooossssffffSSSSeeeelllleeeecccctttt>>>>:
  434.                     In a menu, this action unposts all menus in the
  435.                     menu hierarchy, unless the button is already
  436.                     armed, and calls the XXXXmmmmNNNNaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk callbacks.
  437.                     This acton calls the XXXXmmmmNNNNaaaaccccttttiiiivvvvaaaatttteeeeCCCCaaaallllllllbbbbaaaacccckkkk and
  438.                     XXXXmmmmNNNNddddiiiissssaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk callbacks.
  439.  
  440.                     Outside a menu, this action draws the shadow in
  441.                     the armed state and, if XXXXmmmmNNNNffffiiiillllllllOOOOnnnnAAAArrrrmmmm is set to
  442.                     True, fills the button with the color specified by
  443.                     XXXXmmmmNNNNaaaarrrrmmmmCCCCoooolllloooorrrr.  If XXXXmmmmNNNNllllaaaabbbbeeeellllTTTTyyyyppppeeee is XXXXmmmmPPPPIIIIXXXXMMMMAAAAPPPP,
  444.                     XXXXmmmmNNNNaaaarrrrmmmmPPPPiiiixxxxmmmmaaaapppp is used for the button face.  This
  445.                     action calls the XXXXmmmmNNNNaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk callbacks.
  446.  
  447.                     Outside a menu, this action also arranges for the
  448.                     following to happen, either immediately or at a
  449.                     later time:  the shadow is drawn in the unarmed
  450.                     state and, if XXXXmmmmNNNNffffiiiillllllllOOOOnnnnAAAArrrrmmmm is set to True, the
  451.                     background color reverts to the unarmed color.  If
  452.                     XXXXmmmmNNNNllllaaaabbbbeeeellllTTTTyyyyppppeeee is XXXXmmmmPPPPIIIIXXXXMMMMAAAAPPPP, the XXXXmmmmNNNNllllaaaabbbbeeeellllPPPPiiiixxxxmmmmaaaapppp is
  453.                     used for the button face.  The XXXXmmmmNNNNaaaaccccttttiiiivvvvaaaatttteeeeCCCCaaaallllllllbbbbaaaacccckkkk
  454.                     and XXXXmmmmNNNNddddiiiissssaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk callbacks are called.
  455.  
  456.  
  457.  
  458.  
  459.      Page 7                                         (printed 10/24/98)
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.      XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  467.  
  468.  
  469.  
  470.           <<<<KKKKeeeeyyyy>>>><<<<oooossssffffHHHHeeeellllpppp>>>>:
  471.                     In a Pulldown or Popup MenuPane, unposts all menus
  472.                     in the menu hierarchy and restores keyboard focus
  473.                     to the widget that had the focus before the menu
  474.                     system was entered.  This action calls the
  475.                     callbacks for XXXXmmmmNNNNhhhheeeellllppppCCCCaaaallllllllbbbbaaaacccckkkk if any exist.  If
  476.                     there are no help callbacks for this widget, this
  477.                     action calls the help callbacks for the nearest
  478.                     ancestor that has them.
  479.  
  480.           <<<<KKKKeeeeyyyy>>>><<<<oooossssffffCCCCaaaannnncccceeeellll>>>>:
  481.                     In a toplevel Pulldown MenuPane from a MenuBar,
  482.                     unposts the menu, disarms the MenuBar
  483.                     CascadeButton and the MenuBar, and restores
  484.                     keyboard focus to the widget that had the focus
  485.                     before the MenuBar was entered.  In other Pulldown
  486.                     MenuPanes, unposts the menu.
  487.  
  488.                     In a Popup MenuPane, unposts the menu and restores
  489.                     keyboard focus to the widget from which the menu
  490.                     was posted.  For a PushButtonGadget outside of a
  491.                     menu, if the parent is a manger, this action
  492.                     passes the event to the parent.
  493.  
  494.           <<<<EEEEnnnntttteeeerrrr>>>>:  In a menu, if keyboard traversal is enabled, this
  495.                     action does nothing.  Otherwise, it draws the
  496.                     shadow in the armed state and calls the
  497.                     XXXXmmmmNNNNaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk callbacks.
  498.  
  499.                     If the PushButtonGadget is not in a menu and the
  500.                     cursor leaves and then reenters the
  501.                     PushButtonGadget while the button is pressed, this
  502.                     action draws the shadow in the armed state.  If
  503.                     XXXXmmmmNNNNffffiiiillllllllOOOOnnnnAAAArrrrmmmm is set to True, it also fills the
  504.                     button with the color specified by XXXXmmmmNNNNaaaarrrrmmmmCCCCoooolllloooorrrr.
  505.                     If XXXXmmmmNNNNllllaaaabbbbeeeellllTTTTyyyyppppeeee is XXXXmmmmPPPPIIIIXXXXMMMMAAAAPPPP, the XXXXmmmmNNNNaaaarrrrmmmmPPPPiiiixxxxmmmmaaaapppp is
  506.                     used for the button face.
  507.  
  508.           <<<<LLLLeeeeaaaavvvveeee>>>>:  In a menu, if keyboard traversal is enabled, this
  509.                     action does nothing.  Otherwise, it draws the
  510.                     shadow in the unarmed state and calls the
  511.                     XXXXmmmmNNNNddddiiiissssaaaarrrrmmmmCCCCaaaallllllllbbbbaaaacccckkkk callbacks.
  512.  
  513.                     If the PushButtonGadget is not in a menu and the
  514.                     cursor leaves the PushButtonGadget while the
  515.                     button is pressed, this action draws the shadow in
  516.                     the unarmed state.  If XXXXmmmmNNNNffffiiiillllllllOOOOnnnnAAAArrrrmmmm is set to
  517.                     True, the background color reverts to the unarmed
  518.                     color.  If XXXXmmmmNNNNllllaaaabbbbeeeellllTTTTyyyyppppeeee is XXXXmmmmPPPPIIIIXXXXMMMMAAAAPPPP, the
  519.                     XXXXmmmmNNNNllllaaaabbbbeeeellllPPPPiiiixxxxmmmmaaaapppp is used for the button face.
  520.  
  521.         VVVViiiirrrrttttuuuuaaaallll BBBBiiiinnnnddddiiiinnnnggggssss
  522.  
  523.  
  524.  
  525.      PPPPaaaaggggeeee 8888                                         ((((pppprrrriiiinnnntttteeeedddd 11110000////22224444////99998888))))
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.      XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))    UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV    XXXXmmmmPPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt((((3333XXXX))))
  533.  
  534.  
  535.  
  536.           The bindings for virtual keys are vendor specific.  For
  537.           information about bindings for virtual buttons and keys, see
  538.           VVVViiiirrrrttttuuuuaaaallllBBBBiiiinnnnddddiiiinnnnggggssss(3).
  539.  
  540.      RRRREEEELLLLAAAATTTTEEEEDDDD
  541.           OOOObbbbjjjjeeeecccctttt(3), RRRReeeeccccttttOOOObbbbjjjj(3), XXXXmmmmCCCCrrrreeeeaaaatttteeeePPPPuuuusssshhhhBBBBuuuuttttttttoooonnnnGGGGaaaaddddggggeeeetttt(3),
  542.           XXXXmmmmGGGGaaaaddddggggeeeetttt(3), XXXXmmmmLLLLaaaabbbbeeeellllGGGGaaaaddddggggeeeetttt(3), and XXXXmmmmRRRRoooowwwwCCCCoooolllluuuummmmnnnn(3).
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.      Page 9                                         (printed 10/24/98)
  592.  
  593.  
  594.  
  595.